Pick the sound option you like within this folder
and with SparkIV, export your WEAPONS.ivaud from resident.rpf (find it in
pc\audio\Sfx). Open the WEAPONS.ivaud with GTA IV-aud and import all sound files
to here (match the names):

SNIPERRIFLE_SHOT1_L
SNIPERRIFLE_SHOT1_R

SNIPERRIFLE_SHOT2_L
SNIPERRIFLE_SHOT2_R

Save once done and import back to resident.rpf, Save and close.

If you want to replace M40A1, change the name of SNIPERRIFLE_SHOT2_x to
M40A1_SHOT2_x.

Now install this WeaponInfo line below:

M107 (Semi-Auto version of M82A1), use this if you replace PSG-1 with M82A1.

	<weapon type="SNIPERRIFLE">
		<data slot="SNIPER" firetype="DELAYED_HIT" damagetype="BULLET" group="RIFLE_SNIPER" targetrange="700.0" weaponrange="15000.0" clipsize="10" ammomax="20" timebetweenshots="33">
			<damage base="1750" fps="75" networkplayermod="2.0" networkpedmod="1.0"/>
			<physics force="515.0"/>
			<reload time="2066" fasttime="1166" crouchtime="2066"/>

			<aiming accuracy="10.0" accuracyfps="0.0">
				<offset x="0.16" y="1.0" z="0.55"/>
				<crouchedoffset x="0.16" y="1.0" z="0.12"/>
				<reticule standing="0.6" ducked="0.5" scale="0.05"/>
			</aiming>

			<pickup regentime="480000" ammoonstreet="80"/>

			<controller>
				<rumble duration="300" intensity="58.3"/>
			</controller>

			<flags>
				<flag>GUN</flag>				
				<flag>CAN_AIM</flag>
				<flag>2HANDED</flag>
				<flag>ANIM_RELOAD</flag>
				<flag>CAN_FREE_AIM</flag>
				<flag>ANIM_CROUCH_FIRE</flag>
				<flag>HIGHER_BREAK_FORCE</flag>
				<flag>FIRST_PERSON</flag>
			</flags>
		</data>

		<assets model="w_psg1">
			<anim group="gun@rifle"/>
			<effects>
				<muzzle fx="muz_machine"/>
				<shell fx="weap_ejected_rifle"/>
			</effects>
		</assets>
	</weapon>

Normal M82A1 (Simple Bolt-Action), use this if you replace M40A1 with M82A1.
It can do more damage than normal M107.

	<weapon type="M40a1">
		<data slot="SNIPER" firetype="DELAYED_HIT" damagetype="BULLET" group="RIFLE_SNIPER" targetrange="700.0" weaponrange="15000.0" clipsize="10" ammomax="20" timebetweenshots="333">
			<damage base="1995" fps="70" networkplayermod="2.0" networkpedmod="1.0"/>
			<physics force="600.0"/>
			<reload time="1300" fasttime="2066" crouchtime="2066"/>

			<aiming accuracy="10.0" accuracyfps="0.0">
				<offset x="0.16" y="1.0" z="0.55"/>
				<crouchedoffset x="0.16" y="1.0" z="0.12"/>
				<reticule standing="0.6" ducked="0.5" scale="0.05"/>
			</aiming>

			<pickup regentime="360000" ammoonstreet="10"/>

			<controller>
        <rumble duration="120" intensity="0.3"/>
			</controller>

			<flags>
				<flag>GUN</flag>				
				<flag>CAN_AIM</flag>
				<flag>2HANDED</flag>
				<flag>ANIM_RELOAD</flag>
				<flag>CAN_FREE_AIM</flag>
				<flag>ANIM_CROUCH_FIRE</flag>
				<flag>HIGHER_BREAK_FORCE</flag>
				<flag>FIRST_PERSON</flag>
			</flags>
		</data>

		<assets model="w_rifle">
			<anim group="gun@m40a1">
				<rates firerate="1.3" blindfirerate="1.3"/>
			</anim>
			<effects>
				<muzzle fx="muz_machine"/>
				<shell fx="weap_ejected_rifle"/>
			</effects>
		</assets>
	</weapon>
